home *** CD-ROM | disk | FTP | other *** search
- /* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Copyright (C) 1994, by WATCOM International Inc. All rights %
- % reserved. No part of this software may be reproduced or %
- % used in any form or by any means - graphic, electronic or %
- % mechanical, including photocopying, recording, taping or %
- % information storage and retrieval systems - except with the %
- % written permission of WATCOM International Inc. %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- */
-
- #ifndef _WOLEPARM_HPP_INCLUDED
- #define _WOLEPARM_HPP_INCLUDED
-
- #ifndef _WNO_PRAGMA_PUSH
- #pragma pack(push,8);
- #pragma enum int;
- #endif
-
- #ifndef _WOLEAUTO_HPP_INCLUDED
- # include "woleauto.hpp"
- #endif
- #ifndef _WSTRING_HPP_INCLUDED
- # include "wstring.hpp"
- #endif
-
- #define WOLE_NUM_POSITIONAL 32
- #define WOLE_NUM_NAMED 16
-
- class WCMCLASS WOleParmList {
-
- public:
-
- /**********************************************************
- * Constructors and Destructors
- *********************************************************/
-
- WOleParmList( void );
- WOleParmList( const WOleParmList & parmList );
-
- virtual ~WOleParmList();
-
- public:
-
- /**************************************************************
- * Properties
- **************************************************************/
-
- // ParmCount
- WBool SetParmCount( WInt count );
- WInt GetParmCount() const;
-
- WUInt GetNumPositional( void ) const;
- WUInt GetNumNamed( void ) const;
- WVariant * const GetPositionalParams( void ) const;
- WVariant * const GetNamedParams( void ) const;
- const WString * const GetNames( void ) const;
-
- /**************************************************************
- * Methods
- **************************************************************/
-
- WBool Add( const WString & name, const WVariant & parm );
- WBool Add( const WUInt pos, const WVariant & parm );
-
- /**************************************************************
- * Internal Methods
- **************************************************************/
-
- protected:
- WBool expandVList( WVariant * & src, WUInt & srcCount, WUInt min );
- WBool expandNames( WUInt newCount, WUInt oldCount );
- WBool expandPositional( WUInt min );
- WBool expandNamed( WUInt count );
-
- /**********************************************************
- * Data Members
- *********************************************************/
-
- protected:
- WUInt _numPositionalParms;
- WUInt _numNamedParms;
-
- WVariant *_positionalParms;
- WUInt _positionalCount;
-
- WVariant *_namedParms;
- WString *_names;
- WUInt _namedCount;
-
- WInt _parmCount;
-
- };
-
- #ifndef _WNO_PRAGMA_PUSH
- #pragma enum pop;
- #pragma pack(pop);
- #endif
-
-
- #endif // _WOLEPARM_HPP_INCLUDED
-